In the color printing industry, two types of color printing systems dominate, namely, host-based color printing systems and page description language (PDL)-based color printing systems. In host-based color printing systems, the host computer (e.g., a personal computer (PC)) rather than the printer performs most of the computations associated with performing the print job. Because the printer does not need to perform color print formatting operations, a relatively inexpensive printer with relatively inexpensive hardware can be used for color printing. In PDL-based color printing systems, the printer rather than the host performs most of the computations associated with performing the print job. Therefore, the printers that are used in PDL-based color printing systems require more sophisticated hardware than those used in host-based color printing systems and are typically more expensive.
FIG. 1 illustrates a block diagram of a typical known host-based color printing system 1. The system 1 includes a host computer 2, which is typically a PC, a printer 3 and a Universal Serial Bus (USB) interface 4. The printer 3 and the host computer 2 are interconnected by the USB interface. When a user instructs the host computer 2 to perform a color print job, a rasterizer 5 of the host computer 2 rasterizes the image data and outputs the rasterized image data to a color space converter 6. The color space converter 6 performs an algorithm that converts red, green, blue (RGB) pixel data into cyan, magenta, yellow, black (CMYK) data.
The CMYK data generated by the color space converter 6 is provided to a print quality processor 7. The print quality processor 7 performs tasks such as edge detection, trapping, sharpening and coring.
The processed image data output from the print quality processor 7 is delivered to a halftoner 8. The halftoner 8 performs an algorithm that generates patterns made up of dots of the primary colors (CMYK) that together produce shading that gives the printed image the appearance of continuous color tones.
The output of the halftoner 8 is provided to a data compressor 9, which compresses the data in accordance with a compression algorithm, such as an algorithm that complies with the Joint Bi-Level Image Experts Group (JBIG) standards. The compressed image data is then transmitted over the USB interface 4 from the host computer 2 to the printer 3. The printer 3 receives the compressed image data and stores it in memory (not shown) of the printer 3. Compressing the image data provides the USB connection with more bandwidth, and requires less memory in the printer. The printer then reads the image data from memory, decompresses it and sends it to the print engine (not shown), which prints the color-formatted image.
The processing tasks performed by the printer 3 are small in comparison to those performed by the host computer 2. Therefore, the printer 3 may be a relatively inexpensive printer having only the hardware needed to decompress the compressed image and print it.
FIG. 2 illustrates a block diagram of a known PDL-based color printing system 10. In the PDL-based system 10, the host computer 11 performs a relatively small amount of the tasks compared to those performed by the printer 12. The printer 12 typically includes a higher performance processor than that included in printer 3 of system 1, and an application specific integrated circuit (ASIC). Some of the tasks performed in the printer 12 are performed in software that is executed by the printer processor and others are performed in hardware of the printer ASIC. The incorporation of the processor and ASIC into the printer 12 increases the cost of the printer in comparison to the cost of the printer 3 of the host-based system 1 shown in FIG. 1.
The host computer 11 generates a PDL file that describes the color print job to be performed and transfers it via the USB connection 13 to the printer 12. The PDL file describes the primitive drawing objects and fonts that make up the printed page as well as their placement on the page. Examples of commonly used PDLs are Printer Control Language (PCL) by Hewlett-Packard Company and Postscript by Adobe Systems Incorporated. The printer 12 includes a PDL interpreter 14 that interprets the PDL file and performs rasterization. The blocks 15-19 shown in FIG. 2 then perform the tasks described above with reference to blocks 5-9, respectively, shown in FIG. 1.
As PCs continue to become more powerful, it has become even more desirable to harness the PCs' ability to perform the computations associated with color formatting. However, as PCs have continued to become more powerful, the performance capabilities of color printer mechanisms have also continued to improve. In particular, the page per minute (PPM) rate at which color printers are capable of printing continues to increase. The increase in the PPM rate taxes the host computer processor of the host-based color printing system. In general, PCs are not keeping up with the increased capabilities of color printers.
Increases in the PPM rate do not pose as much of a problem for PDL-based color printing systems as for host-based color printing systems because the printer hardware of PDL-based color printing systems is capable of keeping up with increases in the PPM rate. However, as indicated above, printers that have such hardware are relatively expensive compared to printers that do not have it, such as printers of the type typically used in host-based color printing systems. It would be desirable to provide a host-based color printing system that is capable of performing at a level comparable to that of PDL-based color printing systems. It would also be desirable to provide a host-based color printing system that has improved performance over currently available host-based color printing systems and that does not require an expensive printer having expensive hardware.